import { createStore } from 'redux'
import counterReducer from './reducers'
import { increment, decrement } from './actions'

// 参数：传递一个 reducer
// 返回值：store 实例
const store = createStore(counterReducer)

// !#1 获取当前的状态
console.log(store.getState())

// !#2 通过派发 action 实现 +5
// 参数：action
// increment(5) => { type: 'INCREMENT', payload: 5 }
store.dispatch(increment(5))

// 获取当前的状态
console.log(store.getState()) // 15

store.dispatch(decrement(3))

// 获取当前的状态
console.log(store.getState()) // 12

// 一旦进行了 dispatch action，就会自动触发响应的 reducer
// reducer 把处理完之后的数据返回到 store
export default store
